<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../vue.js"></script>
  </head>
  <body>
    <div id="app">
      <h1>hello world</h1>
      <p>Vue真简单啊</p>
      <p>name:{{_data.name}}{{_data.count}}</p>
      <p>name:{{name}}{{count}}</p>
    </div>
    <script>
      /* 
        vue的data配置项
        vue实例的数据对象
        vue会递归的把data的属性转换为getter/setter 从而让data的属性能够响应数据变化
        实例创建之后 可以通过vm.$data(vm._data)访问原始数据对象 vue实例也代理了data对象上所有的属性 因此访问vm.a 等价于访问vm.$data.a
        */
      const vm = new Vue({
        el: "#app",
        data: {
          count: 1,
          name: "张三",
        },
      });
      console.log(vm);

      //   function Vue(options) {
      //     const { data } = options;
      //     //vue会把数据响应式处理之后 放在vm实例的_data属性上
      //     this._data = data;

      //     //内部会把_data上的数据进行遍历 直接给vm设置了一份(数据代理
      //     for (let key in _data) {
      //       this[key] = _data[key];
      //     }
      //   }
      //   const vm1 = new Vue({
      //     data: {
      //       name: "张三",
      //     },
      //   });
    </script>
  </body>
</html>
